home *** CD-ROM | disk | FTP | other *** search
/ Collection of Internet / Collection of Internet.iso / infosrvr / dev / www_talk.930 / 000402_connolly@pixel.convex.com _Mon Nov 30 14:11:26 1992.msg < prev    next >
Internet Message Format  |  1994-01-24  |  5KB

  1. Return-Path: <connolly@pixel.convex.com>
  2. Received: from dxmint.cern.ch by  nxoc01.cern.ch  (NeXT-1.0 (From Sendmail 5.52)/NeXT-2.0)
  3.     id AA01542; Mon, 30 Nov 92 14:11:26 MET
  4. Received: by dxmint.cern.ch (5.65/DEC-Ultrix/4.3)
  5.     id AA27420; Sun, 29 Nov 1992 22:23:28 +0100
  6. Received: from pixel.convex.com by convex.convex.com (5.64/1.35)
  7.     id AA21660; Sun, 29 Nov 92 15:23:25 -0600
  8. Received: from localhost by pixel.convex.com (5.64/1.28)
  9.     id AA23851; Sun, 29 Nov 92 15:23:23 -0600
  10. Message-Id: <9211292123.AA23851@pixel.convex.com>
  11. To: "Thomas A. Fine" <fine@cis.ohio-state.edu>
  12. Cc: www-talk@nxoc01.cern.ch
  13. Subject: Re: Questions and comments 
  14. In-Reply-To: Your message of "Wed, 25 Nov 92 19:43:50 EST."
  15.              <9211260043.AA26082@soccer.cis.ohio-state.edu> 
  16. Date: Sun, 29 Nov 92 15:23:23 CST
  17. From: Dan Connolly <connolly@pixel.convex.com>
  18.  
  19.  
  20. >>been raised specifically to the increased real line length is that
  21. >>long lines aren't safe to mail.  This problem can easily be
  22. >>circumvented by using MIME & metamail (plug plug, although I have
  23. >>nothing to do with it -- I'm just interested in seeing MIME used in
  24. >>WWW).
  25. >
  26. >If that's the case then I'd have to say that it's ridiculous to try
  27. >to fix mail (or any other transport mechanism) by mucking up HTML with
  28. >crud.  Anyway, threre are already various programs that will let you
  29. >break lines for use with mail.  Http shouldn't care at all about lines.
  30.  
  31. Amen, brother. Line length certainly should not be part
  32. of the HTML spec.
  33.  
  34. As for HTTP, the 80 character line length was, is, and always will
  35. be, merely a suggestion. HTTP implementations that assume 80 character
  36. lines are broken. But I'm sure they're out there.
  37.  
  38. >Yes, MIME would be good.  But would you make WWW pass around MIME
  39. >documents only, with HTML being one of the Content-Types, or would
  40. >you have http handle several different doc types, including both
  41. >MIME and HTML?
  42.  
  43. My strategy on integrating MIME is this:
  44.  
  45. Currently, a WWW or gopher client sends "gimme foo" and expects the
  46. server to send foo back. The client _must know_ the data format of foo
  47. in order to convey it to the user.
  48.  
  49. A gopher client knows foo's format from the first character of the
  50. MenuItem where it got foo in the first place (it assumes gopher format
  51. when foo is the empty string.)
  52.  
  53. A WWW client assumes foo's format is HTML, until it sees <PLAINTEXT>,
  54. where it switches to plain text format.
  55.  
  56. Now if we just use the name text/plain for gopher type 0, application/gopher
  57. for gopher type 1, text/html for the WWW data stream, and text/plain
  58. for the stuff after the <PLAINTEXT> tag, we begin to see how MIME
  59. fits into the picture.
  60.  
  61. I'd like to see the gopher protocol extended to include the actual MIME
  62. content-type in the Menu, like this:
  63.  
  64. 0#About This Gopher#about.txt#some.internet.host#70#text/plain
  65. 1#Departmental Publications#publications#some.internet.host#70#application/gopher
  66.  
  67. Now with text/plain and application/gopher, the MIME content-type
  68. is redundant, and not so important. But consider:
  69.  
  70. 9#My picture#connolly.gif#some.internet.host#70#image/gif
  71. 9#Pronunciation of my name#connolly.snd#some.internet.host#70#audio/basic
  72.  
  73. So in stead of registering zillions of special characters for new
  74. gopher types (i, w, M, etc.) we just add a field to the Menu item,
  75. and use type 9 for everything besides menus and text files.
  76.  
  77. The same holds for WWW references. They should include the data
  78. type, with text/html as the default. So I should be able to
  79. reference the above picture and sound in WWW:
  80.  
  81. <A HREF="gopher://some.internet.host:70/9connolly.gif"
  82.     CONTENT-TYPE="image/gif">
  83.  
  84. <A HREF="gopher://some.internet.host:70/9connolly.snd"
  85.     CONTENT-TYPE="audio/basic">
  86.  
  87. This is especially important for protocols that have no implicit data
  88. type, like FTP.  I could reference a DVI on an FTP server, and have my
  89. WWW client launch xdvi ala metamail:
  90.  
  91. <A HREF="ftp://export.lcs.mit.edu/contrib/foo.dvi"
  92.     content-type="application/x-dvi">
  93.  
  94. Now the WWW gang has always talked about format negotiation.
  95. This is where the client gives the server several options
  96. for the data format, and the server chooses between them.
  97. So what's the data type of the returned information?
  98. We need a type that's a "union" of all the data types, right?
  99.  
  100. Now we see the need for the MIME message/rfc822 content type.
  101. Consider the following scenario:
  102.  
  103. CLIENT: GET foo HTTP-Version-2 Content-Types:
  104.     1000 text/html
  105.     900 application/postscript
  106.     200 text/plain
  107.     400 application/x-dvi
  108.     100 text/x-latex
  109.     .
  110.  
  111. SERVER: 0200 Message follows:
  112. From: author@his.host
  113. Message-ID: <lasting-name-for-this-document>
  114. Subject: ... fullfills role of HTML <TITLE> element ...
  115. Mime-Version: 1.0
  116. Content-Type: application/postscript
  117. Content-Transfer-Encoding: binary
  118.  
  119. %!PS-Adobe-2.0
  120. ...
  121.  
  122.  
  123. The next possibility to consider is multimedia documents, e.g.
  124. one document that contains plain text, HTML text, gif images,
  125. sounds, etc.
  126.  
  127. That's where the MIME multipart/mixed content type comes
  128. in. If the client is prepared to receive multipart messages,
  129. this is gravy.
  130.  
  131. Get it?
  132.  
  133. Dan
  134.